package com.jzo2o.foundations.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jzo2o.common.model.PageResult;
import com.jzo2o.foundations.model.domain.Serve;
import com.jzo2o.foundations.model.dto.request.ServePageQueryReqDTO;
import com.jzo2o.foundations.model.dto.request.ServeUpsertReqDTO;
import com.jzo2o.foundations.model.dto.response.ServeResDTO;

import java.math.BigDecimal;
import java.util.List;

public interface IServeService extends IService<Serve> {
   /**
    * @Author 郑海飞
    * @Description //分页查询
    * @Date 20:07 2024/6/3
    * @Param
    * @param servePageQueryReqDTO
    * @return com.jzo2o.common.model.PageResult<com.jzo2o.foundations.model.dto.response.ServeResDTO>
    */

   PageResult<ServeResDTO> page(ServePageQueryReqDTO servePageQueryReqDTO);

   /**
    * @Author 郑海飞
    * @Description //添加区域服务
    * @Date 20:26 2024/6/3
    * @Param
    * @param serveUpsertReqDTOList
    *
    */
   void batchAdd(List<ServeUpsertReqDTO> serveUpsertReqDTOList);

   /**
    * @Author 郑海飞
    * @Description //区域服务价格修改
    * @Date 21:12 2024/6/3
    * @Param
    * @param id
    * @param price
    *
    */

   Serve update(Long id, BigDecimal price);
   /**
    * @Author 郑海飞
    * @Description //区域服务上架
    * @Date 21:17 2024/6/3
    * @Param
    * @param id
    *
    */
   Serve onSale(Long id);

   /**
    * @Author 郑海飞
    * @Description //区域服务删除
    * @Date 21:37 2024/6/3
    * @Param
    * @param id
    *
    */
   void deleteById(Long id);

   /**
    * @Author 郑海飞
    * @Description //区域服务下架
    * @Date 21:41 2024/6/3
    * @Param
    * @param id
    *
    */
   Serve offSale(Long id);

   /**
    * @Author 郑海飞
    * @Description //设置热门
    * @Date 21:46 2024/6/3
    * @Param
    * @param id
    *
    */
   void changeHotStatus(Long id, int flag);
}
